package com.zoespeer.food_delivery_comment_api.service;

import com.zoespeer.food_delivery_comment_api.entity.Review;
import com.zoespeer.food_delivery_comment_api.vo.MyReviewVO;
import com.zoespeer.food_delivery_comment_api.vo.PublishCommandRequestVO;
import com.zoespeer.food_delivery_comment_api.vo.UserIdResponseVO;

import java.util.List;

public interface ReviewService {
    boolean publishCommand(PublishCommandRequestVO request, Integer userId);
    /**
     * 根据用户ID查询该用户的所有评论
     * @param userId 用户ID
     * @return 评论列表（包含餐厅名称）
     */
    List<MyReviewVO> getMyReviews(String userId);
    /**
     * 删除评论（包含权限校验：只能删除自己的评论）
     * @param reviewId 要删除的评论ID
     * @param userId 当前登录用户ID（用于权限校验）
     */
    void deleteReview(Integer reviewId, Integer userId);
    // 返回封装后的VO对象
    UserIdResponseVO getUserIdByReviewId(Integer reviewId);
}